#include<iostream>
#include<fstream>

using namespace :: std;

int main(){
    ofstream archivoOUT("CASO-08[fatiga].in");
    int cantNodos = 120; //estaciones
    int cantTuneles = 0;
    int cantMoviles = 20;
    int estacionEmergencia = 55;
    int estacionConMovil[cantMoviles];
    
    int nodosPorFila = 10;    
    int cantFilas = cantNodos/nodosPorFila;
    int primerNodoUltimaFila = (cantFilas-1) * nodosPorFila + 1;
    
    cantTuneles += cantFilas * (nodosPorFila-1); //horizontales
    cantTuneles += (cantFilas-1) * nodosPorFila; //verticales
    cantTuneles += (cantFilas-1) * (nodosPorFila-1); //diagonales
    
    archivoOUT << cantNodos << " ";
    archivoOUT << cantTuneles << " ";
    archivoOUT << cantMoviles << " ";
    archivoOUT << endl;

    for(int nodo = 1; nodo <= cantNodos; nodo++){
        //horizontales
        if(nodo % nodosPorFila != 0)
            archivoOUT << nodo  << " " << nodo + 1 << endl;
        //verticales
        if(nodo < primerNodoUltimaFila)
            archivoOUT << nodo  << " " << nodo + nodosPorFila << endl;
        //diagonales
        if(nodo % nodosPorFila != 0 && nodo < primerNodoUltimaFila)
            archivoOUT << nodo  << " " << nodo + nodosPorFila + 1 << endl;
    }

    for(int movil = 1; movil <= cantMoviles; movil++){
        estacionConMovil[movil] = movil;
        archivoOUT << estacionConMovil[movil] << endl;
    }

    archivoOUT << estacionEmergencia << endl;
}
